VMware vSphere Hypervisor 8.0.0 on ThinkCentre M75q-1 Tiny
代わりに vmkusb-nic-fling という USB NIC 向けのドライバが使えるようになった(正しくは 6.7.0 よりサポート)ので、そちらを組み込んで USB NIC を使うことにした
必要なもの
PowerShell
今回は PowerShell 7.3.0 を使った
VMware vSphere Hypervisor (ESXi) Offline Bundle
会員登録するとライセンスが割り当てられてダウンロードできるようになる
zip が降ってくるが展開する必要はない
ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip
zip ファイルを展開しておく
ESXi-Customizer-PS
ESXi-Customizer-PS での組込みはうまくいかない
PowerCLI
Python 3.7.9
PowerCLI が Python 3.7 しか受けつけない
3.7.0 だとバグを踏んで動かないので最新バージョンである 3.7.9 を使うとよい
イメージ組み込み
ESXi-Customizer-PS での組込みはうまくいかないので PowerCLI を使って手動で組込む
(必要があれば) PowerCLI で使う Python を設定
code:Set-PowerCLIConfiguration.ps1
Set-PowerCLIConfiguration -PythonPath \path\to\python.exe
ベースイメージと組込むコンポーネントの情報を取得
code:Get-DepotBaseImages.ps1
PS > Get-DepotBaseImages \path\to\VMware-ESXi-8.0-20513097-depot.zip
Version Vendor Release date
------- ------ ------------
8.0.0-1.0.20513097 VMware, Inc. 09/23/2022 16:33:13
code:Get-DepotComponents.ps1
PS > Get-DepotComponents -Depot \path\to\ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip
Name Version ID
---- ------- --
VMware-vmkusb-nic-fling 1.11-1vmw.800.1.20.61054763 VMware-vmkusb-nic-fling:1.…
上の情報をもとにソフトウェア仕様を作成
code:esxi-custom.json
{
"base_image": {
"version": "8.0.0-1.0.20513097"
},
"components": {
"VMware-vmkusb-nic-fling": "1.11-1vmw.800.1.20.61054763"
}
}
ソフトウェア仕様からインストールイメージを生成
code:New-IsoImage.ps1
PS > New-IsoImage -Depots \path\to\VMware-ESXi-8.0-20513097-depot.zip,\path\to\ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip -SoftwareSpec \path\to\esxi-custom.json -Destination \path\to\VMware-ESXi-8.0-20513097-custom.iso
Python 3.7.0 だとエラーが出るので Python 3.7.9 とかで実行すること
完成!
インストール
上で作ったイメージを USB に焼いて起動
セットアップは通常通り進めてインストールする
インストール作業中の 81% で Exception: No vmknic tagged for management was found. と出て止まるので USB を外して強制再起動する
この時点でインストール自体は終わっているが、一部設定が反映できていない(パスワードなど)
再起動したら F2 を押してログインする
パスワードは設定できていないので空のままでよい
System Customization が開くので Network Restore Options を選択する
Network Restore Options が開くので Restore Network Settings を選択する
Esc を押してメニューから脱出して起動時の画面まで戻る
ログアウトすると起動時の画面になる
再度 F2 を押してログインする
System Customization で Configure Management Network が選択できるようなるので適当に設定する
System Customization の Configure Password でパスワードを設定する
System Customization で Troubleshooting Options を選択する
Troubleshooting Options が開くので Enable SSH を選択する
SSH で ESXi に接続できるようになったので、適当な端末から ESXi に root でログインする
vi とかで /etc/rc.local.d/local.sh を編集する
vmk0 が無効化されないように USB NIC が立ち上がるまで待機するスクリプトを入れる
IPv6 で SLAAC をする場合は vmk0 が設定されたあとに Management Network を再起動する必要がある esxcli で vmk0 を落として上げれば良い
code:/etc/rc.local.d/local.sh
# local configuration options
# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.
# Note: This script will not be run when UEFI secure boot is enabled.
# Persisting USB NIC Bindings
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
count=0
while $count -lt 20 && "${vusb0_status}" != "Up"
do
sleep 10
count=$(( $count + 1 ))
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
done
esxcfg-vswitch -R
# Restart Management Network to configure IPv6 with SLAAC
sleep 10
esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0
exit 0
これで設定完了!
@rokoucha: VMware vSphere Hypervisor 8.0.0 on ThinkCentre M75q-1 Tiny https://pbs.twimg.com/media/FieZ5uvaYAAW4Wf.png